class EventEmitter {
    constructor() { 
    // 初始化事件和回调函数的存储对象
        this.handles = {}; 
    }
    // 订阅事件
    on(eventName, callback) { 
        if (!this.handles[eventName]) { 
            this.handles[eventName] = []; 
        }
        this.handles[eventName].push(callback); 
    }
    // 触发事件
    emit(eventName) { 
        if (this.handles[eventName]) { 
        // 获取事件对应的回调函数数组
            const handles = this.handles[eventName]; 
            handles.forEach(callback => { 
                callback(); 
            });
        }
    }
}
// 创建一个事件管理器实例 相当于中介
const emitter = new EventEmitter(); 

// 订阅'onSell'事件，添加两个回调函数
emitter.on('onSell', () => {
    console.log('hello'); 
});
emitter.on('onSell', () => {
    console.log('world'); 
});

emitter.emit('onSell'); // 触发'onSell'事件
// hello
// world